My file bash, and configurate for linux
Function pada shell mirip dengan function dalam bahasa pemrograman lain sehingga mungkin sebagian dari Anda sudah cukup familier.
function_name () {
command
}
# alternatif
function_name () { command; }
function function_name {
command
}
# alternatif 1 baris
function function_name { command; }
#!/bin/sh
# Tulis function di sini
Hello () {
echo "Hello World"
}
# Panggil function
Hello
Pada dasarnya, shell menyediakan fitur yang sangat powerful terkait input dan output, yakni kemampuan untuk redirect (mengarahkan) output dari perintah atau script; dan mengirimkannya ke file, perangkat, atau bahkan sebagai input ke perintah atau script lain. Ini disebut sebagai stream atau data stream (aliran data).
ls -alh
ls -alh > ls.txt
cat ls.txt
echo timpa baris > ls.txt
cat ls.txt
# timpa baris
echo baris berikutnya >> ls.txt
cat ls.txt
wc -l ls.txt
cat baru.txt 2> error.txt
cat error.txt
Sama seperti output perintah yang dapat diarahkan ke sebuah file, input dari sebuah perintah juga dapat dialihkan dari sebuah file. Jika tanda > digunakan untuk output redirection, tanda < digunakan untuk input redirection. Mudah, kan, dalam membedakannya?
wc -l < ls.txt
mysql -u USERNAME < database_dump.sql
Setelah mempelajari bagaimana mengalihkan/mengarahkan (redirect) output dan input, kita akan belajar hal yang lebih kompleks, yakni mengalihkan output dari suatu program menjadi input bagi program lain. Hal ini disebut sebagai pipe atau dalam bahasa Indonesia disebut pipa (kata ini diambil dari notasi/karakter | di keyboard). |
ls -l /var/log/*.log | wc -l
ls -l /var/log/ | grep "\.log$" | wc -l
Contoh tersebut secara fungsi sama persis dengan sebelumnya, yakni mengetahui jumlah berkas .log yang ada di dalam directory /var/log/. Bedanya, kini kita menggunakan 2 buah pipe ( | ). |